var a = 10;

/*
* 去掉var a 就成为了全局变量
* 在node中有一个全局对象，global,他的作用和网页中的window类似
*   在全局中创建的变量都会作为global的属性保存
*   在全局中创建的函数都会作为global的方法保存
* 当node在执行模块中的代码时，它会首先在代码的最顶部，添加入下代码
*       function (exports, require, module, __filename, __dirname) {
* 在代码最底部添加
*       }
* 实际上模块中的代码都是包装在一个函数中执行的，并且在函数执行时，同时传递5个实参
*   exports
*       该对象用来将变量或函数暴露到外部
*           exports == module.exports
*   require
*       用来引入外部模块
*   module
*       代表的是当前模块的本身
*   __filename
*       E:\Program Files\WebStorm\web\web文件\node study\js\Demo4_node04.js
*       当前模块的完整路径
*   __dirname
*       E:\Program Files\WebStorm\web\web文件\node study\js
*       当前模块所在文件夹的路径
* */
//console.log(global.a);

/*
* arguments.callee
*   这个属性保存的是当前执行的函数对象。
* */
console.log(arguments.callee+"");
console.log(__dirname);